home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / sound / rukc1d.zip / R2_DEMOS.ZIP / MIDIM020.ZIP / MM020.DOC < prev    next >
Text File  |  1994-02-27  |  22KB  |  471 lines

  1. MIDI-MASTER(TM) v0.20ß, General MIDI File Player, 27-Feb-94
  2. Copyright (C)1994 Cornel Huth - All Rights Reserved.
  3.  
  4.  
  5. Actual Limitations:
  6.  
  7. - MM.EXE is a beta release (0.20) MIDI player and, at this level, is only
  8.   a test-bed for the GUS (Advanced Gravis UltraSound) and OPL2/3 support
  9.   code of Ruckus.
  10.  
  11. The following relates to the GUS section of MM:
  12.  
  13. - Interactive volume changes should be made gradually.
  14. - AM vibrato not 100% accurate (awaiting full specs before moving on).
  15. - FM vibrato has no specs to follow (awaiting full specs, but pretty close).
  16. - Does not operate in a Windows DOS box if the GUS Windows device driver
  17.   has been installed. Altering the ULTRASND= IRQ/DMA may work, but it is not
  18.   recommended. The normal result is a DMA timeout error.
  19. - Not all MIDI-performance events are currently supported (too many to list,
  20.   either way, but will be in later versions).
  21. - Programmer's inability to recall all actual limitations.
  22. - MIDI files > 64K not reliable. Results vary. Not recommended.
  23. - Notes sticking occasionally. Reducing voices (/X) may help (for now).
  24. - Device patch filenames are statically stored.
  25. - Single waveform size is limited to approximately 256K.
  26. - Single patch size is limited to approximately 256K.
  27.  
  28.  
  29. The OPL section has further limitations due to time constraints in getting
  30. this release out by the end of February 1994. Much of what follows is
  31. specifically for the GUS, since the GUS code took 6 months; the OPL code
  32. took about 1 month (so far).
  33.  
  34. Actual Features:
  35.  
  36. - Command-line and interactive control of volume, volume response type,
  37.   AM (command-line only) & FM vibrato effects, overall balance, clock
  38.   (elapsed/time remaining), tempo (-50% to +200%), and screen display
  39.   (interactive only).
  40. - Displayed info includes current MIDI state and hardware state.
  41. - Selectable timer (on-board, PC timer-0, alt).
  42. - DMA transfer rate is calculated.
  43. - Both normal and low-rez patch loading (16- or 8-bit form).
  44. - Device memory-use & number of allocations detailed.
  45. - Single waveform size of approximately 256K.
  46. - Single patch size of approximately 256K.
  47. - Failsafe aborts around possible problem areas (both int 3 and int 0 --
  48.   int 3 are not trapped (use DEBUG with breakpoints on) but all int 0
  49.   are handled (either a real div/0, overflow, or a failsafe trap).
  50.   A state-dump is shown on all failsafe traps and the system restored
  51.   to a stable state.
  52. - Automatic detection and handling of Windows dual-sequenced MIDI files
  53.   with option to override.
  54. - Lots of command-line options to select play state, including MIDI channels,
  55.   MIDI events, pitchbend range, volume, volume response type, device memory
  56.   reserve, default patch select, active voices, and a few more.
  57.  
  58. For the OPL section:
  59. - Almost no events are performed by the OPL driver (basically null events).
  60.  
  61.  
  62. Fast Tips:
  63.  
  64. Use the batch files included for simple runs.
  65.  
  66. Read this entire document (has to be faster reading it than it was writing it).
  67. Use /L0 for log-response MIDI files (default is linear volume response).
  68. Use General MIDI L1-sequenced files for best results.
  69. Use /Q1 if you have 256K GRAM.
  70. Use /F1 to activate failsafe traps (defaults to off).
  71. Avoid switching log/linear response when playing.
  72. Avoid very low volume levels.
  73. Do not use AM vibrato (/o2 or /o3).
  74. Do not use MM from the Windows DOS box with the GUS drivers installed.
  75. Let me know of any serious problems. Provide lots of details.
  76.  
  77.  
  78. Mail:
  79.  
  80. E-mail address, BBS support info, and the error list is at the end of this
  81. document.
  82.  
  83.  
  84. ----------------------------------------------------------------------------
  85. MIDI-MASTER(TM) was developed using the Ruckus Toolkit. This toolkit will be
  86. made available on the support BBS in the Ruckus developer's conference in
  87. beta form soon. Shareware versions at the usual locations, but release will
  88. come months away from the initial beta versions.
  89.  
  90. This program contains the generic MIDI parser and the static LIB version
  91. of the GUS support code. The parser has some of the controller support and
  92. on hold. Full GM-performance support will be available by release.
  93.  
  94. Back to this program. Here's what you need (GUS):
  95.  
  96.  1. 286 or higher CPU - the GUS support code was written using
  97.     a few 286 instructions that made a world of difference.
  98.     Only high-end cards will have 286+ code. The AdLibs, OPL2s,
  99.     will run just fine with an 8088. 1MB of GRAM probably is
  100.     a good idea. Patches are loaded in native form (16-bit,
  101.     full sample), unless the command-line override option is used.
  102.  
  103. For the OPL section:
  104.  
  105. 1a. The patch data in R2OPL2OP.PAT and R2OPL4OP.PAT must be in the
  106.     current directory. There are several out-of-whack patches in
  107.      them, but these can/will be improved when the patch editor
  108.      becomes available. The 4op patches sound pretty good. It's
  109.      best to use /m6 (all 4op voices) if you use any 4op voices at all.
  110.  
  111.  
  112. Note: For a quick list of the available command-line options, start up
  113.       the program with a single ? parameter.
  114.  
  115.  
  116.  2. The following environment variables must be set:
  117.  
  118.     ULTRASND=260,7,7,11,11
  119.     ULTRADIR=F:\SND\_GUS
  120.     rem PATDIR=F:\SND\_GUS\MIDI   (not needed now)
  121.     rem DLXDIR=F:\PRG\ASM\R2\_DLX (not needed now)
  122.  
  123.     In other words, set the ULTRASND= eVar to something that
  124.     works for your system. The above is my setting. the ULTRADIR=
  125.     eVar is the location of the GUS directory. In this directory
  126.     must be the patch file directory, MIDI. Patch files must be
  127.     the current version (patch version 1.10). The old patch files
  128.     may not work (probably won't). Anyway, everyone should have
  129.     their GUS 2.06 disks by now. The new patches are on these disks
  130.     (5.5MB worth!).
  131.  
  132. For the OPL section:
  133.  
  134. 2a. No special requirements currently.
  135.  
  136.  
  137.  
  138. ----------------------------------------------------------------------------
  139. That's it. Basically, all you have to do is give it a filename.ext. But you
  140. do have these command-line options available:
  141.  
  142.   C>mm midifile.ext [/B /C /D /E /F /L /M /O /P /Q /R /T /V /W /X /Y /Z]
  143.  
  144.         midifile.ext can be any valid DOS pathname to a valid MIDI file
  145.         sequenced for General MIDI. Alternate sequencer-support later.
  146.  
  147.         Esc at any time exits to DOS.
  148.  
  149.  /Bn=0 or baseport (e.g., 388 for PAS-OPLs, 2x0 for SB-OPLs, not for GUS)
  150.  /Cn=0 to FFFFh, default channel mask=FFFFh (all MIDI channels on)(see /Wn)
  151.  /Dn=2,3,5; no default device - must be specified (2=OPL2, 3=OPL3, 5=GUS)
  152.  /En=0 to 7F00h, default event mask=7F00h (all MIDI events on)
  153.  /Ln=0 or 1, default volume response=1 linear, 0=log
  154.  /Mn=0 to x, default device mode=0 (for OPLs x=number of 4op voices (0-6))
  155.  /On=0 to 3, default LFOs off=0 (1=FMvib, 2=AMvib, 3=both)
  156.  /Pn=0 to 15, default drum channel=9 (0=no drums)(channels are 0-based)
  157.  /Qn=0 or 1, default patch quality mode=0 (max), 1=min
  158.  /Rn=-768 to 1023, default reserve=0 (neg for topdown reserve) [GUS]
  159.  /Tn=0 to 2, default timer=0 PC 8253 timer0, 1=on-board timer, [2=RTC]
  160.  /Vn=0 to 100, default music volume=50 linear & 90 log
  161.  /Wn=0 to 2 default=2 WDS extended-level, 1=base-level, 0=no WDS adjust
  162.  /Xn=14 to 32, default voices=32 [GUS]
  163.  /Yn=0 to 2, default=0, enforce CPU check (1=do not enforce, 2=bypass test)
  164.  /Zn=0 to 127, default program=0 (AcPiano), 999 for none
  165.  
  166.  
  167. Details on Command-Line Options (most):
  168.  
  169. /B - base port
  170.  
  171.         On the OPL devices you need to specify a base port. For 2op voices
  172.         388 (for 388hex) will just about always work. For 4op voices, 388
  173.         will work for most OPL3s (such as the PAS-16), but Sound Blasters
  174.         require you to use the SBx's base port (220, 240, etc.).
  175.  
  176. /C - channel mask/selector
  177.  
  178.         /C is to override the default channels selected. You can
  179.         enter either a hex, binary, or if you can figure it out,
  180.         decimal number here. Hex values must be followed with an "h",
  181.         and binary either a "b" or "y". For example:
  182.  
  183.                 /C3FFh  channels 0-9
  184.                 /C3F0h  channels 4-9
  185.                 /C111b  channels 0-2
  186.                 /CFFFFh          0-15 (all